#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.trigger.job;

import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * XXL-Job
 */
@Slf4j
@Component
public class XXLJob {

    private int count = 0;


    @XxlJob(value = "demoJobHandler")
    public void doJob() {
        // 获取在调度中心设置的任务参数，一般用不上。
        String param = XxlJobHelper.getJobParam();
        log.info("XXL-JOB,执行任务，参数为：{}", param);

        // 模拟任务执行成功和失败
        count++;
        // 可以在任务中，调用一些业务方法逻辑的实现，如定时扫描超时未支付订单为关单处理，恢复库存
        if (count%2 == 0){
            log.info("XXL-JOB,成功");
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            // 调用XxlJobHelper.handleSuccess，表示任务执行成功，不调用时默认成功
            XxlJobHelper.handleSuccess("job成功");
        } else{
            log.info("XXL-JOB,失败");
            // 调用XxlJobHelper.handleFail，表示任务执行失败
            XxlJobHelper.handleFail("job失败");
        }
    }

}
